package com.atguigu.eduservice.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;


/**
 * 房产
 * @author luoY
 */
@Data
public class RealLandBase  implements Serializable {

 private static final long serialVersionUID = 1L;

    /**
     * 请求菜单路径
     */
    private String fromUrl;

    /**
     * 画布id*/
    private String canvasId;
    /**
     * 是否绘制*/
    private Integer isDraw;
    /**
     * 颜色*/
    private String color;
    /**
     * 坐标
     */
    private String xY;
    /**
     * 类型*/
    private String type;
    /**
     * 业务类型名称*/

    private String typeOfServiceName;
    /**
     * 修改时间*/
//    @ObjectFiled(name = "修改时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date updateTime;
    /**
     * 土地全称*/
//    @ObjectFiled(name = "土地全称")
    private String fullName;
    /**
     * 未填写字段个数*/
    private Integer unfilledFields;
    /**
     * 区域省份编码*/
//    @ObjectFiled(name = "省")
    private String areaProvinceCode;
    /**
     * 区域城市编码
     */
//    @ObjectFiled(name = "市")
    private String areaCityCode;
    /**
     * 区域县级编码
     */
//    @ObjectFiled(name = "区县")
    private String areaCountyCode;
    /**
     * 土地主键
     */
//    @Excel(name = "id", orderNum = "1")
    private String realLandId;


    /**
     * 总(分)部/各单位本部编号，关联system_organization_base.organization_id
     */
//    @ObjectFiled(name = "总(分)部/各单位本部")
    private String provinceCompanyId;
    /**
     * 总(分)部/各单位本部名称
     */
//    @Excel(name = "总(分)部/各单位本部", orderNum = "3")
    private String provinceCompanyName;

    /**
     * 地市公司/分支机构编号，关联system_organization_base.organization_id
     */
//    @ObjectFiled(name = "地市公司/分支机构名称")
    private String cityCompanyId;
    /**
     * 地市公司/分支机构名称
     */
//    @Excel(name = "地市公司/分支机构", orderNum = "4")
    private String cityCompanyName;

    /**
     * 县级电力公司/其他县级单位编号，关联system_organization_base.organization_id
     */
//    @ObjectFiled(name = "县级电力公司/其他县级单位")
    private String countyCompanyId;
    /**
     * 县级电力公司/其他县级单位名称
     */

//    @Excel(name = "县级电力公司/其他县级单位", orderNum = "5")
    private String countyCompanyName;
    /**
     * 土地编号
     */

//    @Excel(name = "土地编号", orderNum = "6")
    private String landNum;
    /**
     * 宗地名称
     */
//    @ObjectFiled(name = "宗地名称")
//    @Excel(name = "宗地名称", orderNum = "7")
    private String landName;
    /**
     * 区域-省（自治区、直辖市）名称{区域}
     */

//    @Excel(name = "省（自治区、直辖市）", orderNum = "8")
    private String areaProvinceName;
    /**
     * 区域-市（地、州、盟）名称{区域}
     */

//    @Excel(name = "市（地、州、盟）", orderNum = "9")
    private String areaCityName;
    /**
     * 区域-区/县名称{区域}*/
//    @Excel(name = "区/县", orderNum = "10")
    private String areaCountyName;

    /**
     * 具体位置*/
//    @ObjectFiled(name = "具体位置")
//    @Excel(name = "具体位置", orderNum = "11")
    private String detailAddress;
    /**
     * 经纬度
     */
//    @ObjectFiled(name = "经纬度")
//    @Excel(name = "经纬度", orderNum = "12")
    private String longitudelatitude;
    /**
     * 土地取得日期
     */

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date landAcqDate;
    /**
     * 土地取得日期
     */
//    @ObjectFiled(name = "土地取得日期")
//    @Excel(name = "土地取得日期", orderNum = "13")
    private String landAcqDateString;

    /**
     * 规划用途编码{规划用途:住宅}
     */
//    @ObjectFiled(name = "规划用途")
    private String planPurposeCode;
    /**
     * 规划用途名称{规划用途:住宅}
     */

//    @Excel(name = "土地规划用途", orderNum = "14")
    private String planPurposeName;

    /**
     * 土地性质编码{土地性质:自有}
     */
//    @ObjectFiled(name = "土地性质")
    private String landCharacterCode;
    /**
     * 土地性质名称{土地性质:自有}
     */

//    @Excel(name = "土地性质", orderNum = "15")
    private String landCharacterName;
    /**
     * 土地使用权类型编码{土地使用权类型:划拨}
     */
//    @ObjectFiled(name = "土地使用权类型")
    private String landUseTypeCode;
    /**
     * 土地使用权类型编码{土地使用权类型:划拨}
     */

//    @Excel(name = "土地使用权", orderNum = "16")
    private String landUseTypeName;

    /**
     * 取得价格(万元)
     */
//    @ObjectFiled(name = "取得价格")
//    @Excel(name = "取得价格(万元)", orderNum = "17")
    private BigDecimal ackPrice;

    /**
     * 土地面积(平方米)
     */
//    @ObjectFiled(name = "土地面积")
//    @Excel(name = "土地面积(平方米)", orderNum = "18")
    private BigDecimal usefulArea;

    /**
     * 已使用面积(平方米)
     */
//    @ObjectFiled(name = "已使用面积")
//    @Excel(name = "已使用面积(平方米)", orderNum = "19")
    private BigDecimal usedArea;

    /**
     * 闲置面积(平方米)
     */
//    @Excel(name = "闲置面积(平方米)", orderNum = "20")
//    @ObjectFiled(name = "闲置面积")
    private BigDecimal idleArea;
    /**
     * 是否有证标识
     */
//    @ObjectFiled(name = "是否有权证")
    private Integer hasCertificateFlag;

    /**
     * 是否有证标识
     */
//    @Excel(name = "是否有证", orderNum = "21")
    private String hasCertificateFlagString;

    /**
     * 土地(不动产)证号
     */
//    @ObjectFiled(name = "土地(不动产)证号")
//    @Excel(name = "土地(不动产)证号", orderNum = "22")
    private String landCardNumber;

    /**
     * 土地所有权人
     */
//    @ObjectFiled(name = "土地所有权人")
//    @Excel(name = "土地所有权人", orderNum = "23")
    private String landOwner;

    /**
     * 宗地图编号，关联system_attachment_base.attachment_id
     */
    private String landMapId;
    /**
     * 热点编号，关联system_attachment_base.attachment_id
     */
    private String hotSpotPicId;
    /**
     * 权证图片编号，关联system_attachment_base.attachment_id
     */

    private String authorityCardPicId;
    /**
     * 无证原因编码{无证原因:原始办证资料缺失}
     */
//    @ObjectFiled(name = "无证原因")
    private String noLicenseReasonCode;
    /**
     * 无证原因名称{无证原因:原始办证资料缺失}
     */
//    @Excel(name = "无证原因", orderNum = "28")
    private String noLicenseReasonName;
    /**
     * 附着建筑物数量
     */
//    @Excel(name = "附着建筑物数量", orderNum = "24")
    private Integer buildingNum;
    /**
     * 资产编码
     */
//    @ObjectFiled(name = "资产编码")
//    @Excel(name = "资产编码", orderNum = "25")
    private String assetsNum;
    /**
     * 资产原值(元)
     */
//    @ObjectFiled(name = "资产原值")
//    @Excel(name = "资产原值(元)", orderNum = "26")
    private BigDecimal assetsOrigValue;
    /**
     * 资产净值(元)(库中不存，通过ERP接口实时获取)
     */
//    @ObjectFiled(name = "资产净值")
//    @Excel(name = "资产净值(元)", orderNum = "27")
    private BigDecimal assetsNetValue;
    /**
     * 备注
     */
//    @ObjectFiled(name = "备注")
//    @Excel(name = "备注", orderNum = "29")
    private String remark;
    /**
     * 创建人ID
     */
    private String creatorId;
    /**
     * 创建人名称
     */
    private String creator;

    private String userName;

    private String userNameId;

    private String belongOrganizationName;


    /**
     * 面积使用率
     */
    private BigDecimal utilizationRate;
    /**
     * 面积使用率string
     */
    private String utilizationRateString;
    /**
     * 取得均价
     */
    private BigDecimal averagePrice;
    /**
     * 已使用面积String类型
     */
    private String usefulAreaString;
    /**
     * 已使用面积String类型
     */
    private String usedAreaString;
    /**
     * 闲置面积String类型
     */
    private String idleAreaString;
    /**
     * 资产原值String类型
     */
    private String assetsOrigValueString;
    /**
     * 资产价值String类型
     */
    private String assetsNetValueString;

    /**
     * 可见业务类型
     */
    private String typeOfService;
    /**
     * idlist
     */
    private List<String> ids;

    /**
     * 总(分)部/各单位本部
     */
    @ApiModelProperty(value="总(分)部/各单位本部")
    private String provinceCom;
    /**
     * 地市公司/分支机构
     */
    @ApiModelProperty(value="地市公司/分支机构")
    private String cityCom;
    /**
     * 县级电力公司/其他县级单位
     */
    @ApiModelProperty(value="县级电力公司/其他县级单位")
    private String countyCom;
    /**
     * 省（自治区、直辖市）
     */
    @ApiModelProperty(value="省（自治区、直辖市）")
    private String provinceAddr;
    /**
     * 市（地、州、盟）
     */
    @ApiModelProperty(value="市（地、州、盟）")
    private String cityAddr;
    /**
     * 区/县
     */
    @ApiModelProperty(value="区/县")
    private String countyAddr;
    /**
     * 具体位置
     */
    @ApiModelProperty(value="具体位置")
    private String detailAddr;

    /**
     * 土地面积（平方米）
     */
    @ApiModelProperty(value="土地面积（平方米）")
    private Double landArea;
    /**
     * 宗地图
     */
    @ApiModelProperty(value="宗地图")
//    @ObjectFiled(name = "宗地图")
    private MultipartFile landMapFile;
    /**
     * 权证图片
     */
    @ApiModelProperty(value="权证图片")
//    @ObjectFiled(name = "权证图片")
    private MultipartFile authorityCardPicFile;
    /**
     * 宗地图路径
     */
    @ApiModelProperty(value="宗地图路径")
    private String landMapAttr;

    /**
     * 宗地图名称
     */
    @ApiModelProperty(value="宗地图名称")
    private String landMapName;

    /**
     * 权证图片路径
     */
    @ApiModelProperty(value="权证图片路径")
    private String authorityCardPicAttr;
    /**
     * 权证图片名称
     */
    @ApiModelProperty(value="权证图片名称")
    private String authorityCardPicName;

    /**
     * 权证图片路径
     */
    @ApiModelProperty(value="热点图片路径")
    private String hotSpotPicAttr;
    /**
     * 权证图片名称
     */
    @ApiModelProperty(value="热点图片名称")
    private String hotSpotPicName;
    /**
     * 无证原因编码{无证原因:原始办证资料缺失}
     */
    @ApiModelProperty(value="无证原因编码{无证原因:原始办证资料缺失}")
    private String noCardResonCode;

    /**
     * 部门ID
     */
    @ApiModelProperty(value="部门ID")
    private String usedDeptId;
    /**
     * 部门名称
     */
    @ApiModelProperty(value="部门名称")
    private String usedDeptName;
    /**
     * 实物ID
     */
//    @Excel(name = "实物ID", orderNum = "2")
    @ApiModelProperty(value="实物ID")
    private String physicalId;
    /**
     * 数据状态编码{数据状态:新建、发布、待完善、逻辑删除等}
     */
    @ApiModelProperty(value="数据状态编码{数据状态:新建、发布、待完善、逻辑删除等}")
    private String dataStatusCode;
    /**
     * 数据来源编码{数据来源:PMS2.0、营销、物资、后勤等}
     */
    @ApiModelProperty(value="数据来源编码{数据来源:PMS2.0、营销、物资、后勤等}")
    private String dataSourceCode;
//    /**
//     * 附件
//     */
//    @ApiModelProperty(value="附件")
//    private SystemAttachmentBase attachment;


    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;

    /**
     * 状态标识{1：发布：2：已删除}
     */
    private Integer statusFlag;

    /**
     * 区域坐标
     */
    private String areaCoordinate;

    //==========================================================================

    private String actualLandUseCode; //土地实际用途编码

    private String actualLandUseName;//土地实际用途

    private String landGradesCode;//土地等级编码

    private String landGradesName; //土地等级

    private String assetsUnit; //不动产单元号

    private String parcelNo;//宗地地号

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date terminationDate; //使用终止日期

    private String actualLandHolder;//土地实际持有人

    private String assetsIncreaseWayCode;//资产增加方式编码

    private String assetsIncreaseWayName; //资产增加方式

    private String physicalManagementDepartmentId; //实物管理部门编码

    private String physicalManagementDepartmentName; //实物管理部门名称

    private String useProvinceCompanyId; //使用总(分)部/各单位本部编码

    private String useProvinceCompanyName; //使用总(分)部/各单位本部名称

    private String useCityCompanyId; //使用地市公司/分支机构编码

    private String useCityCompanyName; //使用地市公司/分支机构名称

    private String useCountyCompanyId; //使用县级电力公司/其他县级单位编码

    private String useCountyCompanyName; //使用县级电力公司/其他县级单位名称

    private String useDepartmentId; //使用部门编码

    private String useDepartmentName; //使用部门名称

    private String subordinateToLand; //所属土地


}